/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package j2ee.impl;

import j2ee.AssemblyDescriptorType;
import j2ee.CmpFieldType;
import j2ee.CmrFieldType;
import j2ee.ContainerTransactionType;
import j2ee.DocumentRoot;
import j2ee.EjbJarType;
import j2ee.EjbLocalRefType;
import j2ee.EjbRelationType;
import j2ee.EjbRelationshipRoleType;
import j2ee.EnterpriseBeansType;
import j2ee.EntityType;
import j2ee.J2eeFactory;
import j2ee.J2eePackage;
import j2ee.MethodParamsType;
import j2ee.MethodType;
import j2ee.QueryMethodType;
import j2ee.QueryType;
import j2ee.RelationshipRoleSourceType;
import j2ee.RelationshipsType;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import org.eclipse.emf.ecore.impl.EcorePackageImpl;
import org.eclipse.emf.ecore.xml.type.XMLTypePackage;

/**
 * <!-- begin-user-doc -->
 * An implementation of the model <b>Package</b>.
 * <!-- end-user-doc -->
 * @generated
 */
public class J2eePackageImpl extends EPackageImpl implements J2eePackage {
	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass assemblyDescriptorTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass cmpFieldTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass cmrFieldTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass containerTransactionTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass documentRootEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass ejbJarTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass ejbLocalRefTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass ejbRelationshipRoleTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass ejbRelationTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass enterpriseBeansTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass entityTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass methodParamsTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass methodTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass queryMethodTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass queryTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass relationshipRoleSourceTypeEClass = null;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private EClass relationshipsTypeEClass = null;

	/**
	 * Creates an instance of the model <b>Package</b>, registered with
	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
	 * package URI value.
	 * <p>Note: the correct way to create the package is via the static
	 * factory method {@link #init init()}, which also performs
	 * initialization of the package, or returns the registered package,
	 * if one already exists.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see org.eclipse.emf.ecore.EPackage.Registry
	 * @see j2ee.J2eePackage#eNS_URI
	 * @see #init()
	 * @generated
	 */
	private J2eePackageImpl() {
		super(eNS_URI, J2eeFactory.eINSTANCE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static boolean isInited = false;

	/**
	 * Creates, registers, and initializes the <b>Package</b> for this
	 * model, and for any others upon which it depends.  Simple
	 * dependencies are satisfied by calling this method on all
	 * dependent packages before doing anything else.  This method drives
	 * initialization for interdependent packages directly, in parallel
	 * with this package, itself.
	 * <p>Of this package and its interdependencies, all packages which
	 * have not yet been registered by their URI values are first created
	 * and registered.  The packages are then initialized in two steps:
	 * meta-model objects for all of the packages are created before any
	 * are initialized, since one package's meta-model objects may refer to
	 * those of another.
	 * <p>Invocation of this method will not affect any packages that have
	 * already been initialized.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #eNS_URI
	 * @see #createPackageContents()
	 * @see #initializePackageContents()
	 * @generated
	 */
	public static J2eePackage init() {
		if (isInited) return (J2eePackage)EPackage.Registry.INSTANCE.getEPackage(J2eePackage.eNS_URI);

		// Obtain or create and register package
		J2eePackageImpl theJ2eePackage = (J2eePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof J2eePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(eNS_URI) : new J2eePackageImpl());

		isInited = true;

		// Initialize simple dependencies
		XMLTypePackage.eINSTANCE.eClass();

		// Obtain or create and register interdependencies
		EcorePackageImpl theEcorePackage = (EcorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI) instanceof EcorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI) : EcorePackage.eINSTANCE);

		// Create package meta-data objects
		theJ2eePackage.createPackageContents();
		theEcorePackage.createPackageContents();

		// Initialize created meta-data
		theJ2eePackage.initializePackageContents();
		theEcorePackage.initializePackageContents();

		// Mark meta-data to indicate it can't be changed
		theJ2eePackage.freeze();

		return theJ2eePackage;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getAssemblyDescriptorType() {
		return assemblyDescriptorTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getAssemblyDescriptorType_ContainerTransaction() {
		return (EReference)assemblyDescriptorTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getAssemblyDescriptorType_Id() {
		return (EAttribute)assemblyDescriptorTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getCmpFieldType() {
		return cmpFieldTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCmpFieldType_FieldName() {
		return (EAttribute)cmpFieldTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCmpFieldType_Id() {
		return (EAttribute)cmpFieldTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getCmrFieldType() {
		return cmrFieldTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCmrFieldType_CmrFieldName() {
		return (EAttribute)cmrFieldTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getCmrFieldType_CmrFieldType() {
		return (EAttribute)cmrFieldTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getContainerTransactionType() {
		return containerTransactionTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getContainerTransactionType_Method() {
		return (EReference)containerTransactionTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getContainerTransactionType_TransAttribute() {
		return (EAttribute)containerTransactionTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getDocumentRoot() {
		return documentRootEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_Mixed() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_XMLNSPrefixMap() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_XSISchemaLocation() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_AbstractSchemaName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_AssemblyDescriptor() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_CmpField() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_CmpVersion() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_CmrField() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_CmrFieldName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_CmrFieldType() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_ContainerTransaction() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_Description() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_DisplayName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbClass() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbClientJar() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(14);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_EjbJar() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(15);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbLink() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(16);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_EjbLocalRef() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(17);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(18);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbQl() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(19);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbRefName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(20);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbRefType() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(21);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_EjbRelation() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(22);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbRelationName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(23);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_EjbRelationshipRole() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(24);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_EjbRelationshipRoleName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(25);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_EnterpriseBeans() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(26);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Entity() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(27);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_FieldName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(28);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_Local() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(29);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_LocalHome() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(30);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Method() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(31);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_MethodIntf() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(32);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_MethodName() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(33);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_MethodParam() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(34);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_MethodParams() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(35);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_Multiplicity() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(36);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_PersistenceType() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(37);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_PrimKeyClass() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(38);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_PrimkeyField() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(39);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Query() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(40);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_QueryMethod() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(41);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_Reentrant() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(42);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_RelationshipRoleSource() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(43);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getDocumentRoot_Relationships() {
		return (EReference)documentRootEClass.getEStructuralFeatures().get(44);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getDocumentRoot_TransAttribute() {
		return (EAttribute)documentRootEClass.getEStructuralFeatures().get(45);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getEjbJarType() {
		return ejbJarTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEjbJarType_EnterpriseBeans() {
		return (EReference)ejbJarTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbJarType_DisplayName() {
		return (EAttribute)ejbJarTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbJarType_EjbClientJar() {
		return (EAttribute)ejbJarTypeEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEjbJarType_AssemblyDescriptor() {
		return (EReference)ejbJarTypeEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEjbJarType_Relationships() {
		return (EReference)ejbJarTypeEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbJarType_Id() {
		return (EAttribute)ejbJarTypeEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbJarType_SchemaLocation() {
		return (EAttribute)ejbJarTypeEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbJarType_Version() {
		return (EAttribute)ejbJarTypeEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getEjbLocalRefType() {
		return ejbLocalRefTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbLocalRefType_EjbRefType() {
		return (EAttribute)ejbLocalRefTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbLocalRefType_Local() {
		return (EAttribute)ejbLocalRefTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbLocalRefType_EjbRefName() {
		return (EAttribute)ejbLocalRefTypeEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbLocalRefType_Description() {
		return (EAttribute)ejbLocalRefTypeEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbLocalRefType_LocalHome() {
		return (EAttribute)ejbLocalRefTypeEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbLocalRefType_EjbLink() {
		return (EAttribute)ejbLocalRefTypeEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbLocalRefType_Id() {
		return (EAttribute)ejbLocalRefTypeEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getEjbRelationshipRoleType() {
		return ejbRelationshipRoleTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEjbRelationshipRoleType_RelationshipRoleSource() {
		return (EReference)ejbRelationshipRoleTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbRelationshipRoleType_Multiplicity() {
		return (EAttribute)ejbRelationshipRoleTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbRelationshipRoleType_EjbRelationshipRoleName() {
		return (EAttribute)ejbRelationshipRoleTypeEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEjbRelationshipRoleType_CmrField() {
		return (EReference)ejbRelationshipRoleTypeEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbRelationshipRoleType_Id() {
		return (EAttribute)ejbRelationshipRoleTypeEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getEjbRelationType() {
		return ejbRelationTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEjbRelationType_EjbRelationshipRole() {
		return (EReference)ejbRelationTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbRelationType_EjbRelationName() {
		return (EAttribute)ejbRelationTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEjbRelationType_Id() {
		return (EAttribute)ejbRelationTypeEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getEnterpriseBeansType() {
		return enterpriseBeansTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEnterpriseBeansType_Entity() {
		return (EReference)enterpriseBeansTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getEntityType() {
		return entityTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEntityType_EjbLocalRef() {
		return (EReference)entityTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEntityType_CmpField() {
		return (EReference)entityTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_PrimkeyField() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_EjbClass() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_Reentrant() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(4);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_EjbName() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(5);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getEntityType_Query() {
		return (EReference)entityTypeEClass.getEStructuralFeatures().get(6);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_Local() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(7);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_AbstractSchemaName() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(8);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_PrimKeyClass() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(9);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_PersistenceType() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(10);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_LocalHome() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(11);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_CmpVersion() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(12);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getEntityType_Id() {
		return (EAttribute)entityTypeEClass.getEStructuralFeatures().get(13);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getMethodParamsType() {
		return methodParamsTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getMethodParamsType_MethodParam() {
		return (EAttribute)methodParamsTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getMethodType() {
		return methodTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getMethodType_MethodName() {
		return (EAttribute)methodTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getMethodType_EjbName() {
		return (EAttribute)methodTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getMethodType_MethodIntf() {
		return (EAttribute)methodTypeEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getMethodType_MethodParams() {
		return (EReference)methodTypeEClass.getEStructuralFeatures().get(3);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getQueryMethodType() {
		return queryMethodTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getQueryMethodType_MethodName() {
		return (EAttribute)queryMethodTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getQueryMethodType_MethodParams() {
		return (EReference)queryMethodTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getQueryType() {
		return queryTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getQueryType_EjbQl() {
		return (EAttribute)queryTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getQueryType_Description() {
		return (EAttribute)queryTypeEClass.getEStructuralFeatures().get(1);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getQueryType_QueryMethod() {
		return (EReference)queryTypeEClass.getEStructuralFeatures().get(2);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getRelationshipRoleSourceType() {
		return relationshipRoleSourceTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EAttribute getRelationshipRoleSourceType_EjbName() {
		return (EAttribute)relationshipRoleSourceTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EClass getRelationshipsType() {
		return relationshipsTypeEClass;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public EReference getRelationshipsType_EjbRelation() {
		return (EReference)relationshipsTypeEClass.getEStructuralFeatures().get(0);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public J2eeFactory getJ2eeFactory() {
		return (J2eeFactory)getEFactoryInstance();
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isCreated = false;

	/**
	 * Creates the meta-model objects for the package.  This method is
	 * guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void createPackageContents() {
		if (isCreated) return;
		isCreated = true;

		// Create classes and their features
		assemblyDescriptorTypeEClass = createEClass(ASSEMBLY_DESCRIPTOR_TYPE);
		createEReference(assemblyDescriptorTypeEClass, ASSEMBLY_DESCRIPTOR_TYPE__CONTAINER_TRANSACTION);
		createEAttribute(assemblyDescriptorTypeEClass, ASSEMBLY_DESCRIPTOR_TYPE__ID);

		cmpFieldTypeEClass = createEClass(CMP_FIELD_TYPE);
		createEAttribute(cmpFieldTypeEClass, CMP_FIELD_TYPE__FIELD_NAME);
		createEAttribute(cmpFieldTypeEClass, CMP_FIELD_TYPE__ID);

		cmrFieldTypeEClass = createEClass(CMR_FIELD_TYPE);
		createEAttribute(cmrFieldTypeEClass, CMR_FIELD_TYPE__CMR_FIELD_NAME);
		createEAttribute(cmrFieldTypeEClass, CMR_FIELD_TYPE__CMR_FIELD_TYPE);

		containerTransactionTypeEClass = createEClass(CONTAINER_TRANSACTION_TYPE);
		createEReference(containerTransactionTypeEClass, CONTAINER_TRANSACTION_TYPE__METHOD);
		createEAttribute(containerTransactionTypeEClass, CONTAINER_TRANSACTION_TYPE__TRANS_ATTRIBUTE);

		documentRootEClass = createEClass(DOCUMENT_ROOT);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
		createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
		createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__ABSTRACT_SCHEMA_NAME);
		createEReference(documentRootEClass, DOCUMENT_ROOT__ASSEMBLY_DESCRIPTOR);
		createEReference(documentRootEClass, DOCUMENT_ROOT__CMP_FIELD);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__CMP_VERSION);
		createEReference(documentRootEClass, DOCUMENT_ROOT__CMR_FIELD);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__CMR_FIELD_NAME);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__CMR_FIELD_TYPE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__CONTAINER_TRANSACTION);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__DESCRIPTION);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__DISPLAY_NAME);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_CLASS);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_CLIENT_JAR);
		createEReference(documentRootEClass, DOCUMENT_ROOT__EJB_JAR);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_LINK);
		createEReference(documentRootEClass, DOCUMENT_ROOT__EJB_LOCAL_REF);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_NAME);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_QL);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_REF_NAME);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_REF_TYPE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__EJB_RELATION);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_RELATION_NAME);
		createEReference(documentRootEClass, DOCUMENT_ROOT__EJB_RELATIONSHIP_ROLE);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__EJB_RELATIONSHIP_ROLE_NAME);
		createEReference(documentRootEClass, DOCUMENT_ROOT__ENTERPRISE_BEANS);
		createEReference(documentRootEClass, DOCUMENT_ROOT__ENTITY);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__FIELD_NAME);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__LOCAL);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__LOCAL_HOME);
		createEReference(documentRootEClass, DOCUMENT_ROOT__METHOD);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__METHOD_INTF);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__METHOD_NAME);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__METHOD_PARAM);
		createEReference(documentRootEClass, DOCUMENT_ROOT__METHOD_PARAMS);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__MULTIPLICITY);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__PERSISTENCE_TYPE);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__PRIM_KEY_CLASS);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__PRIMKEY_FIELD);
		createEReference(documentRootEClass, DOCUMENT_ROOT__QUERY);
		createEReference(documentRootEClass, DOCUMENT_ROOT__QUERY_METHOD);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__REENTRANT);
		createEReference(documentRootEClass, DOCUMENT_ROOT__RELATIONSHIP_ROLE_SOURCE);
		createEReference(documentRootEClass, DOCUMENT_ROOT__RELATIONSHIPS);
		createEAttribute(documentRootEClass, DOCUMENT_ROOT__TRANS_ATTRIBUTE);

		ejbJarTypeEClass = createEClass(EJB_JAR_TYPE);
		createEReference(ejbJarTypeEClass, EJB_JAR_TYPE__ENTERPRISE_BEANS);
		createEAttribute(ejbJarTypeEClass, EJB_JAR_TYPE__DISPLAY_NAME);
		createEAttribute(ejbJarTypeEClass, EJB_JAR_TYPE__EJB_CLIENT_JAR);
		createEReference(ejbJarTypeEClass, EJB_JAR_TYPE__ASSEMBLY_DESCRIPTOR);
		createEReference(ejbJarTypeEClass, EJB_JAR_TYPE__RELATIONSHIPS);
		createEAttribute(ejbJarTypeEClass, EJB_JAR_TYPE__ID);
		createEAttribute(ejbJarTypeEClass, EJB_JAR_TYPE__SCHEMA_LOCATION);
		createEAttribute(ejbJarTypeEClass, EJB_JAR_TYPE__VERSION);

		ejbLocalRefTypeEClass = createEClass(EJB_LOCAL_REF_TYPE);
		createEAttribute(ejbLocalRefTypeEClass, EJB_LOCAL_REF_TYPE__EJB_REF_TYPE);
		createEAttribute(ejbLocalRefTypeEClass, EJB_LOCAL_REF_TYPE__LOCAL);
		createEAttribute(ejbLocalRefTypeEClass, EJB_LOCAL_REF_TYPE__EJB_REF_NAME);
		createEAttribute(ejbLocalRefTypeEClass, EJB_LOCAL_REF_TYPE__DESCRIPTION);
		createEAttribute(ejbLocalRefTypeEClass, EJB_LOCAL_REF_TYPE__LOCAL_HOME);
		createEAttribute(ejbLocalRefTypeEClass, EJB_LOCAL_REF_TYPE__EJB_LINK);
		createEAttribute(ejbLocalRefTypeEClass, EJB_LOCAL_REF_TYPE__ID);

		ejbRelationshipRoleTypeEClass = createEClass(EJB_RELATIONSHIP_ROLE_TYPE);
		createEReference(ejbRelationshipRoleTypeEClass, EJB_RELATIONSHIP_ROLE_TYPE__RELATIONSHIP_ROLE_SOURCE);
		createEAttribute(ejbRelationshipRoleTypeEClass, EJB_RELATIONSHIP_ROLE_TYPE__MULTIPLICITY);
		createEAttribute(ejbRelationshipRoleTypeEClass, EJB_RELATIONSHIP_ROLE_TYPE__EJB_RELATIONSHIP_ROLE_NAME);
		createEReference(ejbRelationshipRoleTypeEClass, EJB_RELATIONSHIP_ROLE_TYPE__CMR_FIELD);
		createEAttribute(ejbRelationshipRoleTypeEClass, EJB_RELATIONSHIP_ROLE_TYPE__ID);

		ejbRelationTypeEClass = createEClass(EJB_RELATION_TYPE);
		createEReference(ejbRelationTypeEClass, EJB_RELATION_TYPE__EJB_RELATIONSHIP_ROLE);
		createEAttribute(ejbRelationTypeEClass, EJB_RELATION_TYPE__EJB_RELATION_NAME);
		createEAttribute(ejbRelationTypeEClass, EJB_RELATION_TYPE__ID);

		enterpriseBeansTypeEClass = createEClass(ENTERPRISE_BEANS_TYPE);
		createEReference(enterpriseBeansTypeEClass, ENTERPRISE_BEANS_TYPE__ENTITY);

		entityTypeEClass = createEClass(ENTITY_TYPE);
		createEReference(entityTypeEClass, ENTITY_TYPE__EJB_LOCAL_REF);
		createEReference(entityTypeEClass, ENTITY_TYPE__CMP_FIELD);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__PRIMKEY_FIELD);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__EJB_CLASS);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__REENTRANT);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__EJB_NAME);
		createEReference(entityTypeEClass, ENTITY_TYPE__QUERY);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__LOCAL);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__ABSTRACT_SCHEMA_NAME);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__PRIM_KEY_CLASS);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__PERSISTENCE_TYPE);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__LOCAL_HOME);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__CMP_VERSION);
		createEAttribute(entityTypeEClass, ENTITY_TYPE__ID);

		methodParamsTypeEClass = createEClass(METHOD_PARAMS_TYPE);
		createEAttribute(methodParamsTypeEClass, METHOD_PARAMS_TYPE__METHOD_PARAM);

		methodTypeEClass = createEClass(METHOD_TYPE);
		createEAttribute(methodTypeEClass, METHOD_TYPE__METHOD_NAME);
		createEAttribute(methodTypeEClass, METHOD_TYPE__EJB_NAME);
		createEAttribute(methodTypeEClass, METHOD_TYPE__METHOD_INTF);
		createEReference(methodTypeEClass, METHOD_TYPE__METHOD_PARAMS);

		queryMethodTypeEClass = createEClass(QUERY_METHOD_TYPE);
		createEAttribute(queryMethodTypeEClass, QUERY_METHOD_TYPE__METHOD_NAME);
		createEReference(queryMethodTypeEClass, QUERY_METHOD_TYPE__METHOD_PARAMS);

		queryTypeEClass = createEClass(QUERY_TYPE);
		createEAttribute(queryTypeEClass, QUERY_TYPE__EJB_QL);
		createEAttribute(queryTypeEClass, QUERY_TYPE__DESCRIPTION);
		createEReference(queryTypeEClass, QUERY_TYPE__QUERY_METHOD);

		relationshipRoleSourceTypeEClass = createEClass(RELATIONSHIP_ROLE_SOURCE_TYPE);
		createEAttribute(relationshipRoleSourceTypeEClass, RELATIONSHIP_ROLE_SOURCE_TYPE__EJB_NAME);

		relationshipsTypeEClass = createEClass(RELATIONSHIPS_TYPE);
		createEReference(relationshipsTypeEClass, RELATIONSHIPS_TYPE__EJB_RELATION);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private boolean isInitialized = false;

	/**
	 * Complete the initialization of the package and its meta-model.  This
	 * method is guarded to have no affect on any invocation but its first.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public void initializePackageContents() {
		if (isInitialized) return;
		isInitialized = true;

		// Initialize package
		setName(eNAME);
		setNsPrefix(eNS_PREFIX);
		setNsURI(eNS_URI);

		// Obtain other dependent packages
		XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
		EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);

		// Create type parameters

		// Set bounds for type parameters

		// Add supertypes to classes

		// Initialize classes and features; add operations and parameters
		initEClass(assemblyDescriptorTypeEClass, AssemblyDescriptorType.class, "AssemblyDescriptorType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getAssemblyDescriptorType_ContainerTransaction(), this.getContainerTransactionType(), null, "containerTransaction", null, 1, 1, AssemblyDescriptorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getAssemblyDescriptorType_Id(), theXMLTypePackage.getAnySimpleType(), "id", null, 0, 1, AssemblyDescriptorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(cmpFieldTypeEClass, CmpFieldType.class, "CmpFieldType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getCmpFieldType_FieldName(), theEcorePackage.getEString(), "fieldName", null, 1, 1, CmpFieldType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getCmpFieldType_Id(), theXMLTypePackage.getAnySimpleType(), "id", null, 0, 1, CmpFieldType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(cmrFieldTypeEClass, CmrFieldType.class, "CmrFieldType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getCmrFieldType_CmrFieldName(), theEcorePackage.getEString(), "cmrFieldName", null, 1, 1, CmrFieldType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getCmrFieldType_CmrFieldType(), theEcorePackage.getEString(), "cmrFieldType", null, 1, 1, CmrFieldType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(containerTransactionTypeEClass, ContainerTransactionType.class, "ContainerTransactionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getContainerTransactionType_Method(), this.getMethodType(), null, "method", null, 1, 1, ContainerTransactionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getContainerTransactionType_TransAttribute(), theEcorePackage.getEString(), "transAttribute", null, 1, 1, ContainerTransactionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_AbstractSchemaName(), theEcorePackage.getEString(), "abstractSchemaName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_AssemblyDescriptor(), this.getAssemblyDescriptorType(), null, "assemblyDescriptor", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_CmpField(), this.getCmpFieldType(), null, "cmpField", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_CmpVersion(), theEcorePackage.getEString(), "cmpVersion", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_CmrField(), this.getCmrFieldType(), null, "cmrField", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_CmrFieldName(), theEcorePackage.getEString(), "cmrFieldName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_CmrFieldType(), theEcorePackage.getEString(), "cmrFieldType", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_ContainerTransaction(), this.getContainerTransactionType(), null, "containerTransaction", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_Description(), theEcorePackage.getEString(), "description", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_DisplayName(), theEcorePackage.getEString(), "displayName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbClass(), theEcorePackage.getEString(), "ejbClass", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbClientJar(), theEcorePackage.getEString(), "ejbClientJar", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_EjbJar(), this.getEjbJarType(), null, "ejbJar", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbLink(), theEcorePackage.getEString(), "ejbLink", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_EjbLocalRef(), this.getEjbLocalRefType(), null, "ejbLocalRef", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbName(), theEcorePackage.getEString(), "ejbName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbQl(), theEcorePackage.getEString(), "ejbQl", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbRefName(), theEcorePackage.getEString(), "ejbRefName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbRefType(), theEcorePackage.getEString(), "ejbRefType", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_EjbRelation(), this.getEjbRelationType(), null, "ejbRelation", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbRelationName(), theEcorePackage.getEString(), "ejbRelationName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_EjbRelationshipRole(), this.getEjbRelationshipRoleType(), null, "ejbRelationshipRole", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_EjbRelationshipRoleName(), theEcorePackage.getEString(), "ejbRelationshipRoleName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_EnterpriseBeans(), this.getEnterpriseBeansType(), null, "enterpriseBeans", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Entity(), this.getEntityType(), null, "entity", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_FieldName(), theEcorePackage.getEString(), "fieldName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_Local(), theEcorePackage.getEString(), "local", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_LocalHome(), theEcorePackage.getEString(), "localHome", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Method(), this.getMethodType(), null, "method", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_MethodIntf(), theEcorePackage.getEString(), "methodIntf", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_MethodName(), theEcorePackage.getEString(), "methodName", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_MethodParam(), theEcorePackage.getEString(), "methodParam", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_MethodParams(), this.getMethodParamsType(), null, "methodParams", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_Multiplicity(), theEcorePackage.getEString(), "multiplicity", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_PersistenceType(), theEcorePackage.getEString(), "persistenceType", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_PrimKeyClass(), theEcorePackage.getEString(), "primKeyClass", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_PrimkeyField(), theEcorePackage.getEString(), "primkeyField", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Query(), this.getQueryType(), null, "query", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_QueryMethod(), this.getQueryMethodType(), null, "queryMethod", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_Reentrant(), theEcorePackage.getEString(), "reentrant", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_RelationshipRoleSource(), this.getRelationshipRoleSourceType(), null, "relationshipRoleSource", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEReference(getDocumentRoot_Relationships(), this.getRelationshipsType(), null, "relationships", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
		initEAttribute(getDocumentRoot_TransAttribute(), theEcorePackage.getEString(), "transAttribute", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, IS_DERIVED, IS_ORDERED);

		initEClass(ejbJarTypeEClass, EjbJarType.class, "EjbJarType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getEjbJarType_EnterpriseBeans(), this.getEnterpriseBeansType(), null, "enterpriseBeans", null, 1, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbJarType_DisplayName(), theEcorePackage.getEString(), "displayName", null, 1, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbJarType_EjbClientJar(), theEcorePackage.getEString(), "ejbClientJar", null, 1, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getEjbJarType_AssemblyDescriptor(), this.getAssemblyDescriptorType(), null, "assemblyDescriptor", null, 1, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getEjbJarType_Relationships(), this.getRelationshipsType(), null, "relationships", null, 1, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbJarType_Id(), theXMLTypePackage.getAnySimpleType(), "id", null, 0, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbJarType_SchemaLocation(), theXMLTypePackage.getAnySimpleType(), "schemaLocation", null, 0, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbJarType_Version(), theXMLTypePackage.getAnySimpleType(), "version", null, 0, 1, EjbJarType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(ejbLocalRefTypeEClass, EjbLocalRefType.class, "EjbLocalRefType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getEjbLocalRefType_EjbRefType(), theEcorePackage.getEString(), "ejbRefType", null, 1, 1, EjbLocalRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbLocalRefType_Local(), theEcorePackage.getEString(), "local", null, 1, 1, EjbLocalRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbLocalRefType_EjbRefName(), theEcorePackage.getEString(), "ejbRefName", null, 1, 1, EjbLocalRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbLocalRefType_Description(), theEcorePackage.getEString(), "description", null, 1, 1, EjbLocalRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbLocalRefType_LocalHome(), theEcorePackage.getEString(), "localHome", null, 1, 1, EjbLocalRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbLocalRefType_EjbLink(), theEcorePackage.getEString(), "ejbLink", null, 1, 1, EjbLocalRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbLocalRefType_Id(), theXMLTypePackage.getAnySimpleType(), "id", null, 0, 1, EjbLocalRefType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(ejbRelationshipRoleTypeEClass, EjbRelationshipRoleType.class, "EjbRelationshipRoleType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getEjbRelationshipRoleType_RelationshipRoleSource(), this.getRelationshipRoleSourceType(), null, "relationshipRoleSource", null, 1, 1, EjbRelationshipRoleType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbRelationshipRoleType_Multiplicity(), theEcorePackage.getEString(), "multiplicity", null, 1, 1, EjbRelationshipRoleType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbRelationshipRoleType_EjbRelationshipRoleName(), theEcorePackage.getEString(), "ejbRelationshipRoleName", null, 1, 1, EjbRelationshipRoleType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getEjbRelationshipRoleType_CmrField(), this.getCmrFieldType(), null, "cmrField", null, 1, 1, EjbRelationshipRoleType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbRelationshipRoleType_Id(), theXMLTypePackage.getAnySimpleType(), "id", null, 0, 1, EjbRelationshipRoleType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(ejbRelationTypeEClass, EjbRelationType.class, "EjbRelationType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getEjbRelationType_EjbRelationshipRole(), this.getEjbRelationshipRoleType(), null, "ejbRelationshipRole", null, 1, -1, EjbRelationType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbRelationType_EjbRelationName(), theEcorePackage.getEString(), "ejbRelationName", null, 1, 1, EjbRelationType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEjbRelationType_Id(), theXMLTypePackage.getAnySimpleType(), "id", null, 0, 1, EjbRelationType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(enterpriseBeansTypeEClass, EnterpriseBeansType.class, "EnterpriseBeansType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getEnterpriseBeansType_Entity(), this.getEntityType(), null, "entity", null, 1, -1, EnterpriseBeansType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(entityTypeEClass, EntityType.class, "EntityType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getEntityType_EjbLocalRef(), this.getEjbLocalRefType(), null, "ejbLocalRef", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getEntityType_CmpField(), this.getCmpFieldType(), null, "cmpField", null, 1, -1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_PrimkeyField(), theEcorePackage.getEString(), "primkeyField", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_EjbClass(), theEcorePackage.getEString(), "ejbClass", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_Reentrant(), theEcorePackage.getEString(), "reentrant", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_EjbName(), theEcorePackage.getEString(), "ejbName", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getEntityType_Query(), this.getQueryType(), null, "query", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_Local(), theEcorePackage.getEString(), "local", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_AbstractSchemaName(), theEcorePackage.getEString(), "abstractSchemaName", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_PrimKeyClass(), theEcorePackage.getEString(), "primKeyClass", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_PersistenceType(), theEcorePackage.getEString(), "persistenceType", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_LocalHome(), theEcorePackage.getEString(), "localHome", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_CmpVersion(), theEcorePackage.getEString(), "cmpVersion", null, 1, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getEntityType_Id(), theXMLTypePackage.getAnySimpleType(), "id", null, 0, 1, EntityType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(methodParamsTypeEClass, MethodParamsType.class, "MethodParamsType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getMethodParamsType_MethodParam(), theEcorePackage.getEString(), "methodParam", null, 1, 1, MethodParamsType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(methodTypeEClass, MethodType.class, "MethodType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getMethodType_MethodName(), theEcorePackage.getEString(), "methodName", null, 1, 1, MethodType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getMethodType_EjbName(), theEcorePackage.getEString(), "ejbName", null, 1, 1, MethodType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getMethodType_MethodIntf(), theEcorePackage.getEString(), "methodIntf", null, 1, 1, MethodType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getMethodType_MethodParams(), this.getMethodParamsType(), null, "methodParams", null, 1, 1, MethodType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(queryMethodTypeEClass, QueryMethodType.class, "QueryMethodType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getQueryMethodType_MethodName(), theEcorePackage.getEString(), "methodName", null, 1, 1, QueryMethodType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getQueryMethodType_MethodParams(), this.getMethodParamsType(), null, "methodParams", null, 1, 1, QueryMethodType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(queryTypeEClass, QueryType.class, "QueryType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getQueryType_EjbQl(), theEcorePackage.getEString(), "ejbQl", null, 1, 1, QueryType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEAttribute(getQueryType_Description(), theEcorePackage.getEString(), "description", null, 1, 1, QueryType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
		initEReference(getQueryType_QueryMethod(), this.getQueryMethodType(), null, "queryMethod", null, 1, 1, QueryType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(relationshipRoleSourceTypeEClass, RelationshipRoleSourceType.class, "RelationshipRoleSourceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEAttribute(getRelationshipRoleSourceType_EjbName(), theEcorePackage.getEString(), "ejbName", null, 1, 1, RelationshipRoleSourceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		initEClass(relationshipsTypeEClass, RelationshipsType.class, "RelationshipsType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
		initEReference(getRelationshipsType_EjbRelation(), this.getEjbRelationType(), null, "ejbRelation", null, 1, -1, RelationshipsType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);

		// Create resource
		createResource(eNS_URI);

		// Create annotations
		// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
		createExtendedMetaDataAnnotations();
	}

	/**
	 * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	protected void createExtendedMetaDataAnnotations() {
		String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";		
		addAnnotation
		  (assemblyDescriptorTypeEClass, 
		   source, 
		   new String[] {
			 "name", "assembly-descriptor_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getAssemblyDescriptorType_ContainerTransaction(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "container-transaction",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getAssemblyDescriptorType_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id"
		   });		
		addAnnotation
		  (cmpFieldTypeEClass, 
		   source, 
		   new String[] {
			 "name", "cmp-field_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getCmpFieldType_FieldName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "field-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getCmpFieldType_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id"
		   });		
		addAnnotation
		  (cmrFieldTypeEClass, 
		   source, 
		   new String[] {
			 "name", "cmr-field_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getCmrFieldType_CmrFieldName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmr-field-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getCmrFieldType_CmrFieldType(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmr-field-type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (containerTransactionTypeEClass, 
		   source, 
		   new String[] {
			 "name", "container-transaction_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getContainerTransactionType_Method(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getContainerTransactionType_TransAttribute(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "trans-attribute",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (documentRootEClass, 
		   source, 
		   new String[] {
			 "name", "",
			 "kind", "mixed"
		   });		
		addAnnotation
		  (getDocumentRoot_Mixed(), 
		   source, 
		   new String[] {
			 "kind", "elementWildcard",
			 "name", ":mixed"
		   });		
		addAnnotation
		  (getDocumentRoot_XMLNSPrefixMap(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xmlns:prefix"
		   });		
		addAnnotation
		  (getDocumentRoot_XSISchemaLocation(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "xsi:schemaLocation"
		   });		
		addAnnotation
		  (getDocumentRoot_AbstractSchemaName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "abstract-schema-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_AssemblyDescriptor(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "assembly-descriptor",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_CmpField(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmp-field",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_CmpVersion(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmp-version",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_CmrField(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmr-field",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_CmrFieldName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmr-field-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_CmrFieldType(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmr-field-type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_ContainerTransaction(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "container-transaction",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Description(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "description",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_DisplayName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "display-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbClass(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-class",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbClientJar(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-client-jar",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbJar(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-jar",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbLink(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-link",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbLocalRef(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-local-ref",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbQl(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-ql",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbRefName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-ref-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbRefType(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-ref-type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbRelation(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relation",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbRelationName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relation-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbRelationshipRole(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relationship-role",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EjbRelationshipRoleName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relationship-role-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_EnterpriseBeans(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "enterprise-beans",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Entity(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "entity",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_FieldName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "field-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Local(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "local",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_LocalHome(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "local-home",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Method(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_MethodIntf(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-intf",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_MethodName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_MethodParam(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-param",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_MethodParams(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-params",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Multiplicity(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "multiplicity",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_PersistenceType(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "persistence-type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_PrimKeyClass(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "prim-key-class",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_PrimkeyField(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "primkey-field",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Query(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "query",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_QueryMethod(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "query-method",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Reentrant(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "reentrant",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_RelationshipRoleSource(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "relationship-role-source",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_Relationships(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "relationships",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getDocumentRoot_TransAttribute(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "trans-attribute",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (ejbJarTypeEClass, 
		   source, 
		   new String[] {
			 "name", "ejb-jar_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getEjbJarType_EnterpriseBeans(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "enterprise-beans",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbJarType_DisplayName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "display-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbJarType_EjbClientJar(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-client-jar",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbJarType_AssemblyDescriptor(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "assembly-descriptor",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbJarType_Relationships(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "relationships",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbJarType_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id"
		   });		
		addAnnotation
		  (getEjbJarType_SchemaLocation(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "schemaLocation"
		   });		
		addAnnotation
		  (getEjbJarType_Version(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "version"
		   });		
		addAnnotation
		  (ejbLocalRefTypeEClass, 
		   source, 
		   new String[] {
			 "name", "ejb-local-ref_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getEjbLocalRefType_EjbRefType(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-ref-type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbLocalRefType_Local(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "local",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbLocalRefType_EjbRefName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-ref-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbLocalRefType_Description(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "description",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbLocalRefType_LocalHome(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "local-home",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbLocalRefType_EjbLink(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-link",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbLocalRefType_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id"
		   });		
		addAnnotation
		  (ejbRelationshipRoleTypeEClass, 
		   source, 
		   new String[] {
			 "name", "ejb-relationship-role_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getEjbRelationshipRoleType_RelationshipRoleSource(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "relationship-role-source",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbRelationshipRoleType_Multiplicity(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "multiplicity",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbRelationshipRoleType_EjbRelationshipRoleName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relationship-role-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbRelationshipRoleType_CmrField(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmr-field",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbRelationshipRoleType_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id"
		   });		
		addAnnotation
		  (ejbRelationTypeEClass, 
		   source, 
		   new String[] {
			 "name", "ejb-relation_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getEjbRelationType_EjbRelationshipRole(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relationship-role",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbRelationType_EjbRelationName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relation-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEjbRelationType_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id"
		   });		
		addAnnotation
		  (enterpriseBeansTypeEClass, 
		   source, 
		   new String[] {
			 "name", "enterprise-beans_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getEnterpriseBeansType_Entity(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "entity",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (entityTypeEClass, 
		   source, 
		   new String[] {
			 "name", "entity_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getEntityType_EjbLocalRef(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-local-ref",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_CmpField(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmp-field",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_PrimkeyField(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "primkey-field",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_EjbClass(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-class",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_Reentrant(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "reentrant",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_EjbName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_Query(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "query",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_Local(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "local",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_AbstractSchemaName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "abstract-schema-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_PrimKeyClass(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "prim-key-class",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_PersistenceType(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "persistence-type",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_LocalHome(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "local-home",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_CmpVersion(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "cmp-version",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getEntityType_Id(), 
		   source, 
		   new String[] {
			 "kind", "attribute",
			 "name", "id"
		   });		
		addAnnotation
		  (methodParamsTypeEClass, 
		   source, 
		   new String[] {
			 "name", "method-params_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getMethodParamsType_MethodParam(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-param",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (methodTypeEClass, 
		   source, 
		   new String[] {
			 "name", "method_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getMethodType_MethodName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getMethodType_EjbName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getMethodType_MethodIntf(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-intf",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getMethodType_MethodParams(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-params",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (queryMethodTypeEClass, 
		   source, 
		   new String[] {
			 "name", "query-method_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getQueryMethodType_MethodName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getQueryMethodType_MethodParams(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "method-params",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (queryTypeEClass, 
		   source, 
		   new String[] {
			 "name", "query_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getQueryType_EjbQl(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-ql",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getQueryType_Description(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "description",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (getQueryType_QueryMethod(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "query-method",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (relationshipRoleSourceTypeEClass, 
		   source, 
		   new String[] {
			 "name", "relationship-role-source_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getRelationshipRoleSourceType_EjbName(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-name",
			 "namespace", "##targetNamespace"
		   });		
		addAnnotation
		  (relationshipsTypeEClass, 
		   source, 
		   new String[] {
			 "name", "relationships_._type",
			 "kind", "elementOnly"
		   });		
		addAnnotation
		  (getRelationshipsType_EjbRelation(), 
		   source, 
		   new String[] {
			 "kind", "element",
			 "name", "ejb-relation",
			 "namespace", "##targetNamespace"
		   });
	}

} //J2eePackageImpl
